-
Notifications
You must be signed in to change notification settings - Fork 6
Add tiger mcp get command
#136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Askir
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally looks good :D Just left a few questions/suggestions.
internal/tiger/cmd/mcp.go
Outdated
| Short: "Get detailed information about a specific MCP capability", | ||
| Long: `Get detailed information about a specific MCP tool, prompt, resource, or resource template. | ||
|
|
||
| The type argument must be one of: tool, prompt, resource, resource_template |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it strictly necessary that we include as an argument? Do we have collisions in names otherwise? I think it would be more intuitive otherwise to have tiger mcp describe create_service explain to the user that this mcp primitive is of type tool.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have collisions in names otherwise?
We don't currently have any collisions in names, but we theoretically could in the future (especially because pg-aiguide is developed separately from the CLI), since there's nothing that prevents a tool from having the same name as a prompt, for instance. I was really just trying to make it safe and future-proof.
If we make it tiger mcp get <name>, we would run into issues if we ever end up with duplicate names. Perhaps that's so unlikely that we just shouldn't worry about it? Idk, open to other thoughts on this. I just tend to err on the side of making things explicit and future-proof when there's potential ambiguity. And users can already figure out which things are tools vs prompts by running tiger mcp list, so it didn't feel like a major issue to me to require tool/prompt in the command. I agree that tiger mcp get <name> would be better in theory, though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I decided to go ahead with your suggestion and remove the <type> argument, so now it's just tiger mcp get <name>: 545dd4c
If we run into naming collisions in the future, we can revisit 🤷♂️.
This PR adds a new
tiger mcp get <type> <name>command that allows users to inspect detailed information about specific MCP capabilities (tools, prompts, resources, and resource templates).New Command
The
tiger mcp getcommand provides detailed, human-readable information about MCP capabilities:It is also aliased as
tiger mcp showandtiger mcp describe(to match thetiger service getaliases).Note that I first tried outputting the information in a table (when not requesting JSON/YAML formatted output), but I found it too difficult to read due to the amount of text in the tool descriptions and input/output schemas. I therefore decided use a raw text format roughly similar to how Claude Code displays tools when you inspect one via
/mcp(though there are some differences, such as the fact that I show the output schema as well as the input schema). I'm open to other thoughts and feedback on this though.Additional Changes
ReadOnlyHint,IdempotentHint,OpenWorldHint) instead of relying on default values, improving code clarity and ensuring that they're displayed correctly in thetiger mcp getoutput.filterCompletionsByPrefixhelper function to consolidate completion filtering logictiger mcp getcommand.Closes AGE-287